Wer seine Hilfetexte mit MS HTML Help Workshop in einer kompilierten Datei *.chm (engl. compiled help) zusammenfasst, kann diese auf zwei Arten mit der Anwendung (zum Beispiel Testverwaltung.mdb oder Access_Quiz.mdb) verbinden:
Ein Klick auf eine Schaltfläche
wie
ruft eine Prozedur auf, die ihrerseits
eine ActiveX-DLL des MS Help Workshop
nutzt.
Die Aufrufargumente bestimmen, welches Hilfethema angezeigt wird.
TESTS unterstützt den Anwender ...
durch eine möglichst selbsterklärende Benutzeroberfläche.
durch eine gelbe Kurzhilfe (engl. quick info), die erscheint, sobald sich der Cursor auf einem Formularelement befindet.
durch einen Klick auf die Schaltfläche
. Der
erscheinende Hilfetext führt oft zu weiteren
Hilfethemen oder Anwendungen (z.B. MS Excel).
Das folgende Beispiel zeigt, wie sich kontextsensitive Hilfe mit dem Help Workshop integrieren lässt. Der Code stammt aus dem Klassenmodul Form_FrmStart von Access_Quiz.mdb. Zuerst schafft er eine Verbindung zur externen Programmbibliothek HHCtrl.ocx, indem er deren Funktion HtmlHelp vereinbart. Dann ruft die Ereignisprozedur der Schaltfläche BtnHilfe diese Funktion auf und übergibt ihr die eingangs vereinbarten vier Argumente, welche die Hilfedatei "TESTS.chm" öffnen und daraus das Hilfethema "Access_Quiz_bearbeiten.htm" anzeigen.
'--- 1. Externe DLL HHCtrl.ocx vereinbaren ' (ActiveX-Control, das die Integration von Hilfethemen ermöglicht) Const HH_DISPLAY_TOPIC = &H0 Private Declare Function HtmlHelp Lib "HHCtrl.ocx" Alias "HtmlHelpA" _ (ByVal hwndCaller As Long, _ ByVal pszFile As String, _ 'kompilierte Hilfedatei ByVal uCommand As Long, _ 'Beschreibung der Hilfeaktion dwData As Any 'HTML-Datei mit dem Hilfethema ) As Long '--- 2. In Ziff. 1 vereinbarten Funktion mit konkreten Argumenten aufrufen Private Sub BtnHilfe_Click() Call HtmlHelp(0, "TESTS.chm", HH_DISPLAY_TOPIC, ByVal "Access_Quiz_bearbeiten.htm") End Sub
Was ändert, wenn aus einem irgendeinem Formular oder Steuerelement Hilfe aufgerufen werden soll?
BtnHilfe_Click() muss durch den Namen einer anderen Ereignisprozedur ersetzt werden. Diese kann statt auf einen Klick auch auf eine Taste (zum Beispiel F1) reagieren.
Das Hilfethema Access_Quiz_bearbeiten.htm und allenfalls auch die Hilfedatei TESTS.chm ändern.